<!DOCTYPE html>
<html lang="zh-CN">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <!-- 上述3个meta标签*必须*放在最前面，任何其他内容都*必须*跟随其后！ -->
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,user-scalable=no,minimal-ui">
        <meta name="description" content="">
        <meta name="author" content="">
        <link rel="icon" href="../img/asset-favico.ico">
        <title>编辑信息</title>
        <link rel="stylesheet" href="../css/page-health-orderInfo.css" />
        <link rel="stylesheet" href="../plugins/elementui/index.css" />
        <script src="../plugins/jquery/dist/jquery.min.js"></script>
        <script src="../plugins/healthmobile.js"></script>
        <script src="../plugins/datapicker/datePicker.js"></script>
        <script src="../plugins/vue/vue.js"></script>
        <script src="../plugins/vue/axios-0.18.0.js"></script>
        <script src="../plugins/elementui/index.js"></script>
        <script>
            var id = getUrlParam("id");
        </script>
    </head>
    <body data-spy="scroll" data-target="#myNavbar" data-offset="150">
        <div id="app" class="app">
            <!-- 页面头部 -->
            <div class="top-header">
                <span class="f-left"><i class="icon-back" onclick="history.go(-1)"></i></span>
                <span class="center">传智健康</span>
                <span class="f-right"><i class="icon-more"></i></span>
            </div>
            <!-- 页面内容 -->
            <div class="contentBox">
                <div class="card">
                    <div class="">
                        <img :src="imgUrl" width="100%" height="100%" />
                    </div>
                    <div class="project-text">
                        <h4 class="tit">{{setmeal.name}}</h4>
                        <p class="subtit">{{setmeal.remark}}</p>
                        <p class="keywords"><span>{{setmeal.sex == '0' ? '性别不限' : setmeal.sex == '1' ? '男':'女'}}</span><span>{{setmeal.age}}</span></p>
                    </div>
                    <div class="project-know">
                        <a href="orderNotice.html" class="link-page">
                            <i class="icon-ask-circle"><span class="path1"></span><span class="path2"></span></i>
                            <span class="word">预约须知</span>
                            <span class="arrow"><i class="icon-rit-arrow"></i></span>
                        </a>
                    </div>
                </div>
                <div class="form-info">
                    <div class="info-title">
                        <span class="name">体检人信息</span>
                    </div>
                    <form class="info-form">
                        <div class="input-row">
                            <label>体检人</label>
                            <input v-model="orderInfo.name" type="text" class="input-clear" placeholder="请输入姓名">
                        </div>
                        <div class="input-row single-radio">
                            <label class="radio-title">性别</label>
                            <div class="radio-list">
                                <div class="radio">
                                    <input v-model="orderInfo.sex" id="item1" type="radio" name="sex" value="1" checked>
                                    <label for="item1"></label>
                                    <span>男</span>
                                </div>
                                <div class="radio">
                                    <input v-model="orderInfo.sex" id="item2" type="radio" name="sex" value="2">
                                    <label for="item2"></label>
                                    <span>女</span>
                                </div>
                            </div>
                        </div>
                        <div class="input-row">
                            <label>手机号</label>
                            <input v-model="orderInfo.telephone" type="text" class="input-clear" placeholder="请输入手机号">
                            <input style="font-size: x-small;" id="validateCodeButton" @click="sendValidateCode" type="button" value="发送验证码">
                        </div>
                        <div class="input-row">
                            <label>验证码</label>
                                                                      <!-- @blur ： 表示离焦  校验  -->
                            <input v-model="orderInfo.validateCode" type="text" @blur="validateCodeFromRedis" class="input-clear" placeholder="请输入验证码">
                        </div>
                        <div class="input-row">
                            <label>身份证号</label>
                            <input v-model="orderInfo.idCard" type="text" class="input-clear" placeholder="请输入身份证号">
                        </div>
                        <div class="date">
                            <label>体检日期</label>
                            <i class="icon-date" class="picktime"></i>
                            <input v-model="orderInfo.orderDate" type="text" class="picktime" readonly>
                        </div>
						<input v-model="orderInfo.orderType" type="hidden">
                    </form>
                    <div class="box-button">
                        <button @click="submitOrder" type="button" class="btn order-btn">提交预约</button>
                    </div>
                </div>
            </div>
        </div>
        <script>
            var vue = new Vue({
                el:'#app',
                data:{
					imgUrl:null,
                    setmeal:{},//套餐信息
                    orderInfo:{
						orderType:"微信预约",
                        setmealId:id,
                        sex:'1'
                    }//预约信息
                },
                methods:{
                    //用户表单输入的验证码和redis 校验
                    validateCodeFromRedis(){
                        if (this.orderInfo.validateCode==null){
                            this.$message.error("请输入验证码")
                            return;
                        }
                        
                           // 使用 ？ 拼接一个code 用于接收  validateCode验证码 这里传入一个验证码： validateCode  和用户的 telephone  用于跟后端进行校验 是否正确
                        axios.get("/orderinfo/validateCodeFromRedis.do?code="+this.orderInfo.validateCode+"&telephone="+this.orderInfo.telephone).then((res)=>{
                            if (res.data.flag){
                                this.$message.success(res.data.message)
                            } else (
                                this.$message.error(res.data.message)
                            )
                        })
                    },
                    //发送验证码
                    sendValidateCode(){
                        //获取用户输入的手机号
                        var telephone = this.orderInfo.telephone;
                        //checkTelephone ：是一个封装好的 校验手机号输入是否正确的  点进去就找到了
                        if (!checkTelephone(telephone)) {
                            this.$message.error('请输入正确的手机号');
                            return false;
                        }
                        //   doLoop ： 这是一个 封装好的 验证码 倒计时 的Js 代码
                        validateCodeButton = $("#validateCodeButton")[0];//使用变量validateCodeButton用来接收input标签
                        clock = window.setInterval(doLoop, 1000); //每隔一秒执行一次doLoop方法  倒计时90s
                            //这时候 就调用阿里云的 短信平台 向用户发送短信信息  并且将短信验证码 存储到redis 缓存中去
                            //post: 一般用于提交表单 ；  这里前端页面 拼接一个 telephone的参数   是因为 在controller层 需要用到这个参数 实现业务功能
                                                        //也相当于 写了个方法  在空号中 传入一个参数， 然后再方法体中 需要用到这参数 实现具体的功能
                        axios.get("/orderinfo/sendCodeToPhone.do?telephone="+telephone).then((res)=>{
                            if (res.data.flag){
                                this.$message.success(res.data.message)
                            } else (
                                this.$message.error(res.data.message)
                            )
                        })
						
                    },
                    //提交预约
                    submitOrder(){

                        //校验表单数据格式 是否正确

                        //校验身份证号格式
                        if(!checkIdCard(this.orderInfo.idCard)){
                            this.$message.error('身份证号码输入错误，请重新输入');
                            return ;
                        }
           /*           发送请求提交预约数据   因为是提交表单 所以使用post请求
                        然后 用户填写完表单之后 页面传入的数据 使用什么接收呢？  因为提交的数据 涉及到多张表  并且不再同一个实体类对象中
                        这个时候就要考虑到  Controller层可以使用Map 集合接收数据
                        这里的 this.orderInfo  就代表了 Controller层封装的 Map map 数据*/
					 axios.post("/orderinfo/addOrder.do",this.orderInfo).then((res)=>{
					     if (res.data.flag){
                             //预约成功之后跳转到 其他页面
					        window.location.href="orderSuccess.html?orderid="+res.data.data.id;
                         } else{
					         this.message.error(res.data.message)
                         }
                     })
					   
                    }
                },
                created(){
                    
                }
            });
        </script>
        <script>
            //日期控件
            var calendar = new datePicker();
            calendar.init({
                'trigger': '.picktime',/*按钮选择器，用于触发弹出插件*/
                'type': 'date',/*模式：date日期；datetime日期时间；time时间；ym年月；*/
                'minDate': getSpecifiedDate(new Date(),1),/*显示预约的最小日期,1表示从今天往后推迟1天，就是只能从明天开始预约*/
                'maxDate': getSpecifiedDate(new Date(),30),/*显示预约的最大日期*/
                'onSubmit': function() { /*确认时触发事件*/
                    //var theSelectData = calendar.value;
                },
                'onClose': function() { /*取消时触发事件*/ }
            });
        </script>
    </body>
</html>